//class Solution {
//public:
//    ListNode* swapPairs(ListNode* head) {
//        if (head == nullptr || head->next == nullptr)
//        {
//            return head;
//        }
//        ListNode* tmp = swapPairs(head->next->next);
//        ListNode* ret = head->next;
//        head->next->next = head;
//        head->next = tmp;
//        return ret;
//    }
//};

//class Solution {
//public:
//    double myPow(double x, long long n) {
//        if (n < 0)
//        {
//            x = 1.0 / x;
//            n = abs(n);
//        }
//        return pow(x, n);
//    }
//    double pow(double x, long long n)
//    {
//        if (n == 0) return 1.0;
//
//        double ret = pow(x, n / 2);
//        long y = n % 2;
//        if (y == 1) return ret * ret * x;
//        else return ret * ret;
//    }
//};

